Communications networks, including without limitation wide area networks (“WANs”), local area networks (“LANs”), and storage area networks (“SANs”), may be implemented as a set of interconnected switches that connect a variety of network-connected nodes to communicate data and/or control packets among the nodes and switches. For example, a SAN may be implemented as a high-speed, special purpose network that interconnects different kinds of data storage devices with associated data servers on behalf of a large network of users. Typically, a SAN includes high performance switches as part of an overall network of computing resources for an enterprise. A SAN may be clustered in close geographical proximity to other computing resources, such as mainframe computers, but may also extend to remote locations, such as other enterprise sites, for backup and archival storage using wide area network carrier technologies. Data storage devices and data servers may be collectively referred to as “nodes” connected to the network.
Fibre Channel networking is typically used in SANs although other communications technologies may also be employed, including Ethernet and IP-based storage networking standards (e.g., iSCSI, FCIP (Fibre Channel over IP), etc.). As used herein, the term “Fibre Channel” refers to the Fibre Channel (FC) family of standards (developed by the American National Standards Institute (ANSI)) and other related and draft standards. In general, Fibre Channel defines a transmission medium based on a high speed communications interface for the transfer of large amounts of data via connections between varieties of hardware devices. Other networking protocols may additionally or alternatively be employed, such as raw Ethernet, TCP/IP, UDP, etc.
Operating a network of interconnected network switches in a network becomes increasingly difficult as the number of network switches within the network increases and greater packet transfer rates are required. Further, modern networks demand fewer cyclic redundancy check errors and dropped packets within the increasingly complex networks. As such, current techniques for managing networks through switch-level problem management schemes may be insufficient to satisfy the increasingly challenging performance requirements of evolving networks. For example, strictly switch-level problem management schemes may be too slow and allow too many dropped packets. Further, strictly switch-level problem management techniques fail to distinguish between primary bottlenecks in the network and bottlenecks that are dependent on the primary bottlenecks. As a result, strictly switch-level problem management does not efficiently focus efforts to resolve performance issues at primary bottlenecks within the network.
Further, when a node is added to the network, a user such as an administrator or network technician manually chooses a port on a switch and connects the node to the chosen port via a communications link. There are a number of factors that may impact which switch and/or switch port is best, or at least acceptable, for attaching a new node. For example, relevant factors may include without limitation back pressure within the network, bottlenecked ports on switches, expected traffic load to and from the node, other nodes attached to the switches, traffic load already being handled by each switch, the time of day of use (or nonuse) of the node, type of node to be attached, topology constraints, etc. Unfortunately, the user may not know, or have access to, all the factors that contribute to switch and port selection, or the values of those factors. As such, it is often difficult for the user to make an informed decision about the best, or otherwise acceptable, point at which to attach a node to the network. The decision about where to attach a node to the network is often no better than a guess.